<?php
class AgController extends AppController 
{
	var $name = 'Ag';
	var $uses = array('Estado','Productor','Finca','Estado','Municipio','Parroquia','Usuario','Usuario_sistema');
	var $helpers = array('Ajax','Html','Form','Javascript','Js'/*,'Json','For','Ayuda','Redire'*/);
	var $layout =  "ajax";
	var $components = array('For','Json','Utilitario','Interfaz','Vista'/*,'RequestHandler'*//*,'DebugKit.Toolbar'*/);

/*
	function beforeFilter()
  {
  	$this->validar();	
  }
*/


//	var $uses = array('Usuario','Usuario_sistema');
//	var $helpers = array('Ajax','Html','Form','Javascript','Js','Json','For','Ayuda','Redire');



	public function index($div='vista',$divlistado='vista') 
	{	
		$this->set('div',$div);
		$this->set('divlistado',$divlistado);

		$this->layout = 'json';
	//	$this->porestados();
	//	$this->informacion();
	//	$this->mini_micuenta();
    	$id_usuario=$this->Interfaz->id($this->Session->read('usuario_id'));
		$data=$this->Usuario_sistema->find('all',array('conditions'=> array("Usuario_sistema.usuario_id"=>$id_usuario,"Usuario_sistema.estatus"=>1,"Sistema.estatus"=>1 )));
    	$this->set('data',$data);
		$this->set('tipo_usuario',$this->Interfaz->id($this->Session->read('tipo_usuario')));

	}

/*
	public function redireccion($div='vista',$divlistado='vista') 
	{	
		$this->set('div',$div);
		$this->set('divlistado',$divlistado);

		$this->layout = 'json';
		$this->porestados();
		$this->informacion();
		$this->mini_micuenta();
		$this->set('tipo_usuario',$this->For->id('',$this->Session->read('tipo_usuario')));

	}


*/


  public function pruebas($tipo=1) {
	$this->set('tipo',$tipo);
if($tipo==1)
$this->Json->title('','Equipos SILOS');
else if($tipo==2)
$this->Json->title('','Servicios en Silos');


	}
	public function nlogin()
	{

$this->Json->tsesion(1);
$this->Json->title('','Sesion Cerrada');

echo "<script type='text/javascript'>
document.getElementById('buscadorindex').value='BLOQUEADO';
document.getElementById('buscadorindex').disabled = true;
</script>";

//$this->render('../Login/nlogin');
return true;
  }




	public function relogeo($ventana=null) 
	{

echo "<script type='text/javascript'>
document.getElementById('buscadorindex').value='';
document.getElementById('buscadorindex').disabled = false;
</script>";

		//			$this->Json->mensaje('',$ventana,'cccc');	

	 	$data=$this->For->data($this->request->data);
  //  $this->Json->pr($data);
	//pr($this->data);
		//$this->salir();
		$sistema_nombre='SIMA - V 1.0';
		
		$this->layout="login";
		$usuario_id=$this->Session->read('usuario_id');
 		$users = $this->Session->read('usuario_id'); 

		if(isset($this->data['imagen'])){

		if(isset($usuario_id) && $usuario_id !='' && $usuario_id !=1)
		{  
		    //['conectado']='0'; desconectado
		    //['conectado']='1'; conectado
		    //['conectado']='2'; bloqueo la clave
		    //['conectado']='3'; bloqueado por el administrador
		

		   	$usuario_id = base64_decode(base64_decode(base64_decode(base64_decode(base64_decode($usuario_id)))));
		    $qry="update usuarios set conectado=0 where id=$usuario_id";
		    $this->Usuario->query($qry);
		}
		$this->Session->delete('usuario_id');$this->Session->destroy('usuario_id');
		$this->Session->delete('sesion_id');$this->Session->destroy('sesion_id');
		$this->Session->delete('nombre_usuario');$this->Session->destroy('nombre_usuario');
		$this->Session->delete('username');$this->Session->destroy('username');
		$this->Session->delete('Autenticado');$this->Session->destroy('Autenticado');
		$this->Session->delete('tienda_id');$this->Session->destroy('tienda_id');
		$this->Session->delete('nombre_tienda');$this->Session->destroy('nombre_tienda');
		$this->Session->delete('es_central');$this->Session->destroy('es_central');
		$this->Session->delete('cedula_usuario');$this->Session->destroy('cedula_usuario');
		$this->Session->delete('tlf_usuario');$this->Session->destroy('tlf_usuario');
		$this->Session->destroy();
		if(!empty($data['usuario']))$set_usuario=$data['usuario']; else $set_usuario='';
		if(!empty($data['clave']))$set_clave=$data['clave']; else $set_clave='';
		if(!empty($data['codigo']))$set_codigo=strtr(strtoupper($data['codigo']),"àèìòùáéíóúçñäëïöü","ÀÈÌÒÙÁÉÍÓÚÇÑÄËÏÖÜ");  else $set_codigo='';
		if(!empty($data['imagen']))$set_imagen=strtr(strtoupper($data['imagen']),"àèìòùáéíóúçñäëïöü","ÀÈÌÒÙÁÉÍÓÚÇÑÄËÏÖÜ"); else $set_imagen='';
		$set_mensaje='';
		

		if(empty($data['usuario']) or empty($data['clave']) or empty($data['codigo'])){ 
		
			if(empty($data['usuario']) and empty($data['clave'])){
				$set_mensaje='Existen Campos Vacios';
				$error=true;
				$set_usuario='';
				$set_clave='';		
				$set_codigo='';
			}
			else if(empty($data['usuario'])){
				if(empty($data['usuario'])){
					$error=true;
					$set_usuario=$data['usuario'];
					$set_mensaje='Indique un Usuario';
				}else $set_usuario='';
			}
			else if(empty($data['clave'])){
				if(empty($data['clave'])){
					$error=true;
					$set_clave=$data['clave'];
					$set_mensaje='Indique una Clave';
				}else $set_clave='';
			}
			else if(empty($data['codigo'])){
				if(empty($data['codigo'])){
					$error=true;
					$set_codigo=$data['codigo'];
					$set_mensaje='Indique el Codigo';
				}else   $set_codigo='';
			}
			else if(empty($data['imagen'])){
				if(empty($data['imagen'])){
					$error=true;
					$set_codigo=$data['codigo'];
					$set_mensaje='Error en Captcha';
				}
			}
			$this->set('error_entrada',$error);
			$this->Json->mensaje('',$set_mensaje,'ERROR');	
	//	$this->set('msj',$set_mensaje);
			$this->set('usuario',$set_usuario);
			$this->set('clave',$set_clave);
			$this->set('anterior_codigo',$set_codigo);

		}
		else if($set_imagen!=$set_codigo){
			$this->set('error_entrada',true);
			$this->Json->mensaje('',' El Codigo es Invalido','ERROR');	
			//$this->set('msj',' El Codigo "'.strtr(strtoupper($data['codigo']),"àèìòùáéíóúçñäëïöü","ÀÈÌÒÙÁÉÍÓÚÇÑÄËÏÖÜ").'" es Invalido');
			$this->set('usuario',$data['usuario']);
			$this->set('clave',$data['clave']);
			$this->set('anterior_codigo',$data['codigo']);
		}

		else
		{
			$usuario=$this->Utilitario->mayuscula($data['usuario']);
			$contrasena=$this->Utilitario->con_clave($data['clave']);
			$datosUsuario=$this->Usuario->find('first',array('conditions'=> array("UPPER(Usuario.usuario)='".$usuario."'AND Usuario.contrasena='".$contrasena."' and Usuario.estatus='1'")));
	
			if(count($datosUsuario)<1){
			$this->set('error_entrada',false);
			$this->Json->mensaje('',' Error en Usuario o Clave','ERROR');	
		//	$this->set('msj',' Error en Usuario o Clave');
			$this->set('usuario',$data['usuario']);
			$this->set('clave',$data['clave']);
			$this->set('anterior_codigo',$data['codigo']);

			}
			else{

     	  $id_usuario = $datosUsuario['Usuario']['id'];
				$id_usuario = base64_encode($id_usuario);
				$id_usuario = base64_encode($id_usuario);
				$id_usuario = base64_encode($id_usuario);
				$id_usuario = base64_encode($id_usuario);
				$id_usuario = base64_encode($id_usuario);
				$this->Session->write('usuario_id',$id_usuario);
				$tipo_usuario = $datosUsuario['Usuario']['tipo_usuario_id'];
				$tipo_usuario = base64_encode($tipo_usuario);
				$tipo_usuario = base64_encode($tipo_usuario);
				$tipo_usuario = base64_encode($tipo_usuario);
				$tipo_usuario = base64_encode($tipo_usuario);
				$tipo_usuario = base64_encode($tipo_usuario);
				$this->Session->write('tipo_usuario',$tipo_usuario);

				$this->Session->write('sesion_id',$this->Session->id());
				$this->Session->write('nombre_usuario',$datosUsuario['Usuario']['nombre'].' '.$datosUsuario['Usuario']['apellido']);
				$this->Session->write('cedula_usuario',$datosUsuario['Usuario']['cedula']);
				$this->Session->write('tlf_usuario',$datosUsuario['Usuario']['celular']);
				$this->Session->write('username',$datosUsuario['Usuario']['usuario']);
				$this->Session->write('hora_acceso',date('h:i:s'));
				$this->Session->write('Autenticado','Autenticado');
				$id_tienda = $datosUsuario['Usuario']['tienda_id'];
				$id_tienda = base64_encode($id_tienda);
				$id_tienda = base64_encode($id_tienda);
				$id_tienda = base64_encode($id_tienda);
				$id_tienda = base64_encode($id_tienda);
				$id_tienda = base64_encode($id_tienda);
				$this->Session->write('tienda_id',$id_tienda);
				$this->Session->write('nombre_tienda',$datosUsuario['Tienda']['nombre']);
				$this->Session->write('es_central',$datosUsuario['Tienda']['central']);

				$this->request->data=null;
				$this->request->data['Usuario']['id']=$datosUsuario['Usuario']['id'];
				$this->request->data['Usuario']['conectado']='1';
				$this->request->data['Usuario']['session']=$this->Session->id(); 
					
	 			if ($this->Usuario->save($this->request->data))
	 			{
					//$this->log('imprimir');
					$this->log();
					$this->request->data=null;	
			//		$this->redirect('/Tp');
				echo "<script type='text/javascript'>
					  var h = Ext.getCmp('$ventana');
	          h.show ? h.hide() : h.hide();
						h = null;
						$ventana=null;
      				</script>";
				$this->Json->tsesion(0);
			  $this->Json->title('','Sesion Activada');

				//$this->Json->mensaje('','Exito','ERROR');
		  	}
				else
				{
				$this->set('error_entrada',true);				
	   		$this->Json->mensaje('','Ocurrio un error inetente nuevamente','ERROR');		
	//		$this->set('msj','Ocurrio un error inetente nuevamente');
		    }
	    }

		}
			

}else{
echo '';

}
	$this->set('sistema_nombre',$sistema_nombre);		
		
return false;
	}





































	public function imagen($div='vista',$divlistado='vista') 
	{	
		$this->set('div',$div);
		$this->set('divlistado',$divlistado);
		$this->validar();
		$this->Json->title('','Inicio');

	}


	public function mini_micuenta() 
	{	
   	$this->validar();	
//	$this->Usuarios->micuenta('vista','vista','VmtaYVJrOVdRbEpRVkRBOQ==');
		$id=$this->Session->read('usuario_id');

		$data=$this->data=null;
	        $id_limpio = $this->For->id('',$id);
		$this->set('usuariodata',$this->Usuario->find('first',array('conditions'=> array("Usuario.id='$id_limpio' and Usuario.estatus='1'"))));
	//	$this->set('div',$div);
	//	$this->set('divlistado',$divlistado);
		$this->set('lista_sexo',$this->Utilitario->lista_sexo('L'));
		$this->set('lista_cod_celular',$this->Utilitario->lista_cod_celular());
	}
	public function porestados() {

	
	$data=$this->Estado->find('all',array('conditions'=> array("Estado.estatus='1'")/*, "order"=>"nombre"*/));
	for($z=0;$z<count($data); $z++){

		$countp=$this->Productor->find('count',array('conditions'=> array("Productor.estado_id"=>$data[$z]['Estado']['id'], "Productor.estatus"=>1)));
		$countf=$this->Finca->find('count',array('conditions'=> array("Finca.estado_id"=>$data[$z]['Estado']['id'], "Finca.estatus"=>1)));
		$data[$z]['Estado']['fincas']=$countf;
		$data[$z]['Estado']['productores']=$countp;
	}
	$this->set('cantidadestados',$data);
	}
	public function informacion() 
	{
	$this->validar();	
	}
	public function indessx() 
	{
   	$this->validar();
		$this->layout = 'json';
		$this->porestados();
		$this->informacion();
		$this->mini_micuenta();
		$this->set('tipo_usuario',$this->For->id('',$this->Session->read('tipo_usuario')));

	}
	public function mensajes() 
	{
	$this->validar();	
	$this->layout = 'json';
	}
	public function activarcapa($tipo,$formulario=null,$valida=1,$cedrif=null)
  {
	$this->validar();	
			if($valida==1) $this->Json->activarcapa($tipo,$formulario);
			else
			{
					if(isset($cedrif) and strlen($cedrif) >2)
					{
							if(!$this->Json->verifica('Productor','ced_rif',$cedrif,'cedrif_h'))
							{
									if(!$this->Json->verifica_rif('Productor','ced_rif',$cedrif,'cedrif_h'))
									{
											echo "<script type='text/javascript'>document.getElementById('cedrif').disabled = true;</script>";
											$this->Json->activarcapa($tipo,$formulario);
									}
									else
									{
											$this->Json->monta_imagem('','cedrif_h');
											$this->Json->mensaje('','La Cedula o RIF del Productor Ya Existe en el Sistema','ERROR','cedrif_h');
											echo "<script type='text/javascript'>document.getElementById('cedrif').disabled = false;</script>";
									}
								
							}
							else
							{
									$this->Json->monta_imagem('','cedrif_h');
									$this->Json->mensaje('','La Cedula o RIF del Productor Ya Existe en el Sistema','ERROR','cedrif_h');
									echo "<script type='text/javascript'>document.getElementById('cedrif').disabled = false;</script>";
							}
					}
					else
					{
							$this->Json->monta_imagem('','cedrif_h');
							$this->Json->mensaje('','Al Menos Debe Indicar La Cedula o RIF del Productor ','ERROR','cedrif_h');
							echo "<script type='text/javascript'>document.getElementById('cedrif').disabled = false;</script>";
					}
			}
      $this->layout = 'json';
			$this->render('mensajes');
 	}



 function buscador($model = null, $controler=null, $valor = null) {
$this->validar();	
if($controler!='vacio'){
if($controler!=null) $url=str_replace('xreplacex','/',$controler);

if($valor=='' or $valor==null or $valor=='0')$valor='';


$this->$model = ClassRegistry::init($model);
$campos = $this->$model->query("SELECT * FROM information_schema.columns WHERE table_name = '" .$this->$model->useTable. "'");

$tipousuario=2;
if($tipousuario!=1){
$todo = '(';
}else{
$todo='';
}
	$modelos = $this->$model->relaccion;
	$camds='nombre'; 
	for($i=0; $i< count($modelos);$i++)
	{
      $todo.='"' . $modelos[$i] . '.'.$camds.'' . '"' . " ilike '%" . $valor . "%' OR ";
	}
	for ($i = 0; $i < count($campos); $i++) {

                

		if (in_array($campos[$i][0]['column_name'], $this->$model->busqueda)) {
                    $todo.='"' . $model . '.' . $campos[$i][0]['column_name'] . '"' . " ilike '%" . $valor . "%' OR ";
                }

	} 
		$tod = substr($todo, 0, -3);
		
		if($tipousuario!=1){
		$tod.=') AND "'.$model.'.estatus" not in' . " (0) ";
		}else{
		$tod.='';
		}

		$tipo_usuario=$this->For->id('',$this->Session->read('tipo_usuario'));
		$tienda_id=$this->For->id('',$this->Session->read('tienda_id'));
		if($tipo_usuario!=1 and $tipo_usuario!=3)
		{
				if($model=='Productor' or $model=='Usuario')
				{
						$tod.=' AND "'.$model.'.tienda_id"='.$tienda_id;
				}
		}

		

          	
		$condicion = array("or" => array($tod));
                $data = $this->$model->find('all', array('conditions' => $condicion, 'order' => "$model.id", 'limit'=>"50"));


$this->set('data', $data);
$this->set('busq', $valor);
//echo '<pre>'; print_r($data);echo '</pre>';

/*
for($i=0; $i<count($data); $i++){
echo '<br />'.$data[$i]['Estado']['nombre'].'-'.$data[$i]['Municipio']['nombre'].'-'.$data[$i]['Parroquia']['nombre'];
}
*/
//$this->log('imprimir');

	  if($controler!=null)
		{
			$da=explode('/',$url); 
				if($da[0]=='Tp')$da[0]='TARJETAPRODUCTIVA';  
       $this->render("../".$da[0]."/listado2");
		}
}
else
$this->Json->mensaje('','Debe seleccionar un links del menu','ALERTA');

}

	public function pdf_iframe($div='vista',$divlistado='vista') 
	{	
		$this->set('div',$div);
		$this->set('divlistado',$divlistado);

	}
	public function documentacion($div='vista',$divlistado='vista') 
	{	
		$this->set('div',$div);
		$this->set('divlistado',$divlistado);
	}

	public function upload($div='vista',$divlistado='vista') 
	{	
		$this->set('div',$div);
		$this->set('divlistado',$divlistado);
		$this->validar();
		$this->Json->title('','Subir Archivo');

	}




/*
	public function cargararchivo() {

		$this->layout = 'json';


$data=$this->request->data;
echo '<pre>';
print_r($this->request->data);
echo '</pre>';
echo 'cccccccccccccc';



 if(is_uploaded_file($data['Model']['archivo']['tmp_name']))
    {
       $nombreDirectorio = "archivos/";
       $idUnico = time();
       $nombreFichero = $idUnico."_".$data['Model']['archivo']['name'];
       if(move_uploaded_file($data['Model']['archivo']['tmp_name'], $nombreDirectorio.$nombreFichero))
       {
        echo "Archivo subido correctamente";
       }
       else
       {
        echo "No puede mover el archivo a su ubicación final";
       }
    }
    else
    {
       echo "No se ha podido subir el fichero";
    }


}

*/




}
